package com.cn.wx.util;

import javax.servlet.http.HttpServletRequest;
import java.util.HashMap;
import java.util.Map;

public class Page {
    /**
     * 得到当前应该显示那一页
     *
     * @param req
     * @param type1       点击按钮属性 1 首页，2 上一页，3下一页，4末页
     * @param dangqianye1 当前页
     * @param pageSize1   每页显示多少条
     * @param count       总条数
     * @return
     */
    public static Map<String, Object> getPageNum(HttpServletRequest req, String type1, String dangqianye1, String pageSize1, Integer count) {
        String pageSizeStr = req.getParameter(pageSize1);
        Integer pageSize = pageSizeStr == null ? 10 : Integer.parseInt(pageSizeStr);
        String type = req.getParameter(type1);//
        String dangqianye = req.getParameter(dangqianye1);


        Integer countPage = 0;//总页数

        if (dangqianye == null || dangqianye.equals(""))
            dangqianye = "1";
        Integer pageUnm = Integer.parseInt(dangqianye);//当前跳转到那一页
        if (pageUnm == 0)
            pageUnm = 1;
        if (count % pageSize == 0)
            countPage = count / pageSize;
        else countPage = count / pageSize + 1;
//        如果当前出入的页数大于总页数，那么就查询最后一页
//        如果当前页小于0，那么就查询第一页
        if (pageUnm > countPage)
            pageUnm = countPage;
        if (pageUnm < 1)
            pageUnm = 1;
//        第一页
        if ("1".equals(type)) {
            pageUnm = 1;
        }
        //        上一页
        if ("2".equals(type)) {
            if (pageUnm > 1) {
                --pageUnm;
            }
        }

//        下一页
        if ("3".equals(type)) {
            if (pageUnm < countPage) {
                pageUnm++;
            }
        }
//        末页
        if ("4".equals(type))
            pageUnm = countPage;
        Map<String, Object> map = new HashMap<>();
        map.put("countPage", countPage);
        map.put("count", count);
        map.put("pageSize", pageSize);
        map.put("dangqianye", pageUnm);
        return map;
    }
}
